SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TRSIST_GRUP_U02]  
/*------------------------------------------------------*/  
/*---- Empresa           : OFISIS S.A.              ----*/  
/*---- Cliente           : OFISIS S.A.              ----*/  
/*---- Sistema           : Seguridad                ----*/  
/*---- Módulo            : Seguridad                ----*/  
/*---- Programa          : Adiciona permisos grupo  ----*/  
/*---- Script            : TRSIST_GRUP              ----*/  
/*---- Nombre SP         : SP_TRSIST_GRUP_U02       ----*/  
/*---- Desarrollado por  : Gianmarco Lindo Huertas  ----*/  
/*---- Fecha Creación    : 21/06/2002               ----*/  
/*---- Base de Datos     : SQL                      ----*/  
/*---- Versión           : 7.0                      ----*/  
/*---- Invoca a SP       :                          ----*/  
/*------------------------------------------------------*/  
/*------------------------------------------------------*/  
/*---- Modificado 1 por     :                       ----*/  
/*---- Fecha Modificación   :                       ----*/      
/*---- Detalle Modificación :                       ----*/    
/*----                                              ----*/  
/*------------------------------------------------------*/  
/*------------------------------------------------------*/  
/*---- Comentarios:Adiciona los permisos de un grupo----*/  
/*---- a otro grupo                                 ----*/  
/*----                                              ----*/  
/*------------------------------------------------------*/  
/*------------------------------------------------------*/  
/*---- Drop Proc SP_TRSIST_GRUP_U02                 ----*/  
/*---- Grant All On SP_TRSIST_GRUP_U02 to PUBLIC    ----*/  
/*------------------------------------------------------*/  
(@ISCO_USUA           TD_VC_008, 
 @ISCO_GRUP_DEST      TD_VC_008,  
 @ISCO_GRUP           TD_VC_008 )  
as  
BEGIN TRAN SP_TRSIST_GRUP_U02  
  
 -- Accesos a Sistemas --  
 Insert  into  TRSIST_GRUP(CO_SIST, CO_GRUP, CO_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
 Select  t1.CO_SIST, @ISCO_GRUP_DEST,  @ISCO_USUA, @ISCO_USUA, GETDATE()  
 From    TRSIST_GRUP t1  
 Where   t1.CO_GRUP = @ISCO_GRUP  
 And     NOT EXISTS( Select t2.CO_SIST  
                       From TRSIST_GRUP t2  
                      Where t2.CO_SIST = t1.CO_SIST  
                        And t2.CO_GRUP = @ISCO_GRUP_DEST )  
 If @@error != 0  
 Begin  
    Rollback tran SP_TRSIST_GRUP_U02  
    Return  
 End  
  
 -- Accesos a Opciones del Menu --  
 Insert  into  TRMENU_GRUP(CO_SIST, CO_MODU,  
                           CO_MENU, CO_GRUP,  
                           ST_ADIC, ST_MODI,  
                           ST_ANUL, ST_REPO,  CO_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
 Select  t1.CO_SIST, t1.CO_MODU,  
         t1.CO_MENU, @ISCO_GRUP_DEST,  
         t1.ST_ADIC, t1.ST_MODI,  
         t1.ST_ANUL, t1.ST_REPO,  
         @ISCO_USUA, @ISCO_USUA, GETDATE()  
 From    TRMENU_GRUP t1  
 Where   t1.CO_GRUP = @ISCO_GRUP  
 And     NOT EXISTS(Select t2.CO_SIST  
                      From TRMENU_GRUP t2  
                     Where t2.CO_SIST = t1.CO_SIST  
                       And t2.CO_MODU = t1.CO_MODU  
                       And t2.CO_MENU = t1.CO_MENU  
                       And t2.CO_GRUP = @ISCO_GRUP_DEST )  
 If @@error != 0  
 Begin  
    Rollback tran SP_TRSIST_GRUP_U02  
    Return  
 End  
  
 -- Accesos a Empresas --  
 Insert  into  TREMPR_GRUP(CO_EMPR, CO_GRUP,  
                           CO_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
 Select  t1.CO_EMPR, @ISCO_GRUP_DEST,  
         @ISCO_USUA, @ISCO_USUA, GETDATE()  
 From    TREMPR_GRUP t1  
 Where   t1.CO_GRUP = @ISCO_GRUP  
 And     NOT EXISTS( Select t2.CO_EMPR  
                       From TREMPR_GRUP t2  
                      Where t2.CO_EMPR = t1.CO_EMPR  
                        And t2.CO_GRUP = @ISCO_GRUP_DEST )  
 If @@error != 0  
 Begin  
    Rollback tran SP_TRSIST_GRUP_U02  
    Return  
 End  
  
 -- Accesos a Informacion Empresa --  
 Insert  into  TRINFO_GRUP(CO_EMPR, TI_INF1,  
                           TI_INF2, CO_GRUP,  
                           CO_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
 Select  t1.CO_EMPR, t1.TI_INF1,  
         t1.TI_INF2, @ISCO_GRUP_DEST,  
         @ISCO_USUA, @ISCO_USUA, GETDATE()  
 From    TRINFO_GRUP t1  
 Where   t1.CO_GRUP = @ISCO_GRUP  
 And     NOT EXISTS( Select t2.CO_EMPR  
                       From TRINFO_GRUP t2  
                      Where t2.CO_EMPR = t1.CO_EMPR  
                        And t2.TI_INF1 = t1.TI_INF1  
                        And t2.TI_INF2 = t1.TI_INF2  
                        And t2.CO_GRUP = @ISCO_GRUP_DEST )  
 If @@error != 0  
 Begin  
    Rollback tran SP_TRSIST_GRUP_U02  
    Return  
 End  
COMMIT TRAN SP_TRSIST_GRUP_U02  
return  
/*------------------------------ Fin -------------------------------*/  
GO
